import axios from 'axios';
//新建axios实例
const service = axios.create({
    timeout: 5000,//请求超时时间
    baseURL:  '/api',//设置了所有请求的基础URL
    withCredentials:  true//是否跨站点访问控制请求
});

//请求拦截器
//可以在请求被发送之前做一些事情，例如修改请求配置、添加请求头等。
service.interceptors.request.use(
    config => {
        return config;
    },
    error => {
        console.log(error);
        return Promise.reject();
    }
);
//响应拦截器
//可以在响应被then或catch处理之前做一些事情。
//响应拦截器检查响应的状态码，如果状态码是200，就返回响应的数据；否则，就返回一个被拒绝的Promise。
service.interceptors.response.use(
    response => {
        if (response.status === 200) {
            return response.data;
        } else {
            Promise.reject();
        }
    },
    e => {
        console.log(e);
        return Promise.reject(e);
    }
);
//导入初始化模块
import '../../initialize'
//创建实例，其他模块也能导入并使用
export default service;
